package com.sun.huazhi.aitaskservice.DTO.response;

import lombok.Data;

import java.util.List;
import java.util.Map;

public class SystemStatusResponse {
    private SystemModule knowledge_base;
    private SystemModule local_model;
    private String api_status;
    private SpeechModule speech_interaction;
    private VideoModule text2video;


    @Data
    public static class SystemModule {
        private Integer document_count;
        private String last_updated;
        private Boolean available;
        private String model_path;

        public Integer getDocument_count() {
            return document_count;
        }

        public void setDocument_count(Integer document_count) {
            this.document_count = document_count;
        }

        public String getLast_updated() {
            return last_updated;
        }

        public void setLast_updated(String last_updated) {
            this.last_updated = last_updated;
        }

        public Boolean getAvailable() {
            return available;
        }

        public void setAvailable(Boolean available) {
            this.available = available;
        }

        public String getModel_path() {
            return model_path;
        }

        public void setModel_path(String model_path) {
            this.model_path = model_path;
        }
    }

    @Data
    public static class SpeechModule {
        private Map<String, Boolean> asr_available;
        private Map<String, Boolean> tts_available;
        private List<String> supported_dialects;
        private String service_provider;

        public Map<String, Boolean> getAsr_available() {
            return asr_available;
        }

        public void setAsr_available(Map<String, Boolean> asr_available) {
            this.asr_available = asr_available;
        }

        public Map<String, Boolean> getTts_available() {
            return tts_available;
        }

        public void setTts_available(Map<String, Boolean> tts_available) {
            this.tts_available = tts_available;
        }

        public List<String> getSupported_dialects() {
            return supported_dialects;
        }

        public void setSupported_dialects(List<String> supported_dialects) {
            this.supported_dialects = supported_dialects;
        }

        public String getService_provider() {
            return service_provider;
        }

        public void setService_provider(String service_provider) {
            this.service_provider = service_provider;
        }
    }

    @Data
    public static class VideoModule {
        private Boolean available;
        private List<String> supported_styles;


        public Boolean getAvailable() {
            return available;
        }

        public void setAvailable(Boolean available) {
            this.available = available;
        }

        public List<String> getSupported_styles() {
            return supported_styles;
        }

        public void setSupported_styles(List<String> supported_styles) {
            this.supported_styles = supported_styles;
        }
    }

    public SystemModule getKnowledge_base() {
        return knowledge_base;
    }

    public void setKnowledge_base(SystemModule knowledge_base) {
        this.knowledge_base = knowledge_base;
    }

    public SystemModule getLocal_model() {
        return local_model;
    }

    public void setLocal_model(SystemModule local_model) {
        this.local_model = local_model;
    }

    public String getApi_status() {
        return api_status;
    }

    public void setApi_status(String api_status) {
        this.api_status = api_status;
    }

    public SpeechModule getSpeech_interaction() {
        return speech_interaction;
    }

    public void setSpeech_interaction(SpeechModule speech_interaction) {
        this.speech_interaction = speech_interaction;
    }

    public VideoModule getText2video() {
        return text2video;
    }

    public void setText2video(VideoModule text2video) {
        this.text2video = text2video;
    }
}
